Unreal Pongine

  • up startscreen

Game description

    A simple Pong game where you need to outplay your bot-enemy.
The game was created without any game engine, but using SFML and C++.

Project Info

🎮 Genre: 2D Arcade Sports
💻 Platform: PC, Windows
👤 Role: Solo Developer
👥 Team Size: 1
⏱️ Development Time: 1.5 Weeks
⚙️ Tools: SFML 3.1, C++
🛠️ Core implemented features: Audio system, scoring system, enemy bot, intersection system, game states, input processing system, movement system, controls binding, UI

  Introduction

    This game was developed on C++ by using SFML 3.1. The first game I’ve created without using game engines, only with C++ and multimedia library.
This game is just a regular singleplayer Pong, where you’re playing against bot. The game can go on forever until you turn it off.

  Development & Technical Details

Audio system implemented with using sf::Sound class.
Movement system was created separately for the player and the bot in the custom “GameInstance” class.
Enemy bot‘s logic was implemented by calculating ball location and using random functions to establish the movement error.
• Here are 3 game states in the game: running, paused between rounds, paused by user.
• Here in the project exist own Tick function and the timer.
Intersection system was implemented using bounds and searching intersection systems of the SFML lib.

  What I learned

    Through this project, I discovered for myself the little part of the low level game development without using game engine. I learned base SFML classes and methods and found out how to best use them and what bugs there may be when using certain classes. I tried to build Unreal like architecture both in the code and in the IDE. I learned to to better separate the logic of individual game processes. The following hierarchy has been created in the project: GameInstance -> Entity -> Paddle, Ball etc.
I improved my skills and understanding of the C++ language overall, especially the part related to pointers and memory management. I’ve improved in configuring Visual Studio and understanding of the project builds.
This is my first attempt to understand in practice how game engines works.

You can review gameplay showcase:


    You can also check out project’s repository on GitHub.

Scroll to Top